1. Technical Field
The present invention relates to logically addressing both rows and subcolumns of a matrix stored in a plurality of vector register files within a processor.
2. Related Art
A Single Instruction Multiple Data (SIMD) vector processing environment may be utilized for operations associated with vector and matrix mathematics. Such mathematics processing may relate to various multimedia applications such as graphics and digital video. A current problem associated with SIMD vector processing arises from a need to handle vector data flexibly. The vector data is currently handled as a single (horizontal) vector of multiple elements when operated upon in standard SIMD calculations. The rows of the matrix can therefore be accessed horizontally in a conventional manner. However it is often necessary to access the columns of the matrix as entities, which is problematic to accomplish with current technology. For example, it is common to generate a transpose of the matrix for accessing columns of the matrix, which has the problem of requiring a large number of move/copy instructions and also increases (i.e., at least doubles) the number of required registers.
Accordingly, there is a need for an efficient processor and method for addressing rows and columns of a matrix used in SIMD vector processing.